package cn.eleven.dao;

import cn.eleven.entity.Room;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

public interface RoomDAO {

    /**
     * 查询所有房间信息
     * @param conn 数据库连接
     * @return 房间列表
     * @throws SQLException SQL异常
     */
    List<Room> findAll(Connection conn) throws SQLException;

    /**
     * 根据房间ID查询房间信息
     * @param conn 数据库连接
     * @param id 房间ID
     * @return 房间对象（如果存在）
     * @throws SQLException SQL异常
     */
    Room findById(Connection conn, int id) throws SQLException;

    /**
     * 更新房间信息（例如房间的状态和容量）
     * @param conn 数据库连接
     * @param room 房间对象，包含需要更新的信息
     * @return 是否更新成功
     * @throws SQLException SQL异常
     */
    boolean update(Connection conn, Room room) throws SQLException;

    /**
     * 更新房间状态
     * @param conn 数据库连接
     * @param room 房间对象，包含需要更新的状态
     * @return 是否更新成功
     * @throws SQLException SQL异常
     */
    public boolean updateStatus(Connection conn, Room room) throws SQLException;
}
